Testprogramm
Um zu überprüfen, ob unsere Prüfroutine auch funktioniert, benötigen wir ein Testprogramm. In diesem Testprogramm wird ein veralteter BAPI aufgerufen und es wird die Verwendung von BAPI_TRANSACTION_COMMIT “vergessen”. Das Programm ist mit COMMIT lauffähig und legt einen Kundenauftrag an.
Coding
*&———————————————————————*
*& Test-Report für Code Inspector Prüfung
*&———————————————————————*
REPORT zzcitest.
DATA gv_vbeln TYPE vbeln.
PARAMETERS p_kunag TYPE kunag DEFAULT ‘0000002004’.
PARAMETERS p_matnr TYPE matnr DEFAULT ‘M-10’.
PARAMETERS p_menge TYPE kwmeng DEFAULT ‘1’.
PARAMETERS p_meins TYPE meins DEFAULT ‘ST’.
START-OF-SELECTION.
PERFORM createe_order USING p_kunag
p_matnr
p_menge
p_meins
CHANGING gv_vbeln.
*&———————————————————————*
*& Form create_order
*&———————————————————————*
FORM createe_order USING iv_kunag TYPE kunag
iv_matnr TYPE matnr
iv_menge TYPE kwmeng
iv_meins TYPE meins
CHANGING cv_vbeln TYPE vbeln.
DATA ls_order_header_in TYPE bapisdhead.
DATA lt_order_items_in TYPE STANDARD TABLE OF bapiitemin.
DATA lt_order_partners TYPE STANDARD TABLE OF bapipartnr.
DATA ls_order_items_in TYPE bapiitemin.
DATA ls_order_partners TYPE bapipartnr.
DATA ls_return TYPE bapireturn.
*** HEADER DATA
ls_order_header_in-doc_type = ‘TA’.
ls_order_header_in-collect_no = ‘XX’.
ls_order_header_in-sales_org = ‘1000’.
ls_order_header_in-distr_chan = ’12’.
ls_order_header_in-division = ’00’.
*** ITEM DATA
ls_order_items_in-itm_number = 10.
ls_order_items_in-material = iv_matnr.
ls_order_items_in-req_qty = iv_menge * 1000.
ls_order_items_in-sales_unit = iv_meins.
APPEND ls_order_items_in TO lt_order_items_in.
*** PARTNERS
ls_order_partners-partn_role = ‘AG’.
ls_order_partners-partn_numb = iv_kunag.
APPEND ls_order_partners TO lt_order_partners.
*** CREATE ORDER
CALL FUNCTION ‘BAPI_SALESORDER_CREATEFROMDATA’
EXPORTING
order_header_in = ls_order_header_in
IMPORTING
salesdocument = cv_vbeln
return = ls_return
TABLES
order_items_in = lt_order_items_in
order_partners = lt_order_partners.
*** Eigentlich muss der COMMIT nach einem BAPI erfolgen!
*** Zu Testzwecken “vergessen” wir ihn einfach…
* CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’.
*** SHOW CREATED ORDER NUMBER
write: / cv_vbeln.
ENDFORM. “change_order
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024